package top.superflow.server.config

import org.springframework.context.annotation.Configuration
import org.springframework.web.cors.UrlBasedCorsConfigurationSource
import org.springframework.web.filter.CorsFilter

@Configuration
class CorsConfig{

  import org.springframework.context.annotation.Bean
  import org.springframework.web.cors.CorsConfiguration

  private def buildConfig = {
    val corsConfiguration = new CorsConfiguration
    corsConfiguration.addAllowedOrigin("*") // 允许任何域名使用

    corsConfiguration.addAllowedHeader("*") // 允许任何头

    corsConfiguration.addAllowedMethod("*") // 允许任何方法（post、get等）

    corsConfiguration
  }

  @Bean def corsFilter: CorsFilter = {
    val source = new UrlBasedCorsConfigurationSource
    source.registerCorsConfiguration("/**", buildConfig) // 对接口配置跨域设置

    new CorsFilter(source)
  }

}
